// commitlint.config.cjs
module.exports = {
  extends: ['@commitlint/config-conventional'],
  /**
   * 校验规则
   * feat: 新功能,新特性
   * fix: 修复bug
   * docs: 文档修改
   * style: 代码格式修改, 注意不是 css 修改
   * refactor: 代码重构
   * perf: 优化相关，比如提升性能、体验
   * test: 测试用例修改
   * build: 编译相关的修改，例如发布版本、对项目构建或者依赖的改动
   * chore: 构建工具或辅助工具
   * revert: 回滚到上一个版本
   * 提交格式 git commit -m "feat: 提交信息"
   */
  rules: {
    'type-enum': [
      // 0 关闭校验 1 警告 2 错误
      2,
      'always', // 检测类型
      ['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'chore', 'revert', 'build'], // 检测类型枚举
    ],
    'type-case': [0], // 检测类型大小写
    'type-empty': [0], // 检测类型是否为空
    'scope-empty': [0], // 检测作用域是否为空
    'scope-case': [0], // 检测作用域大小写
    'subject-full-stop': [0, 'never'], // 检测主题是否以.结束
    'subject-case': [0, 'never'], // 检测主题大小写
    'header-max-length': [0, 'always', 72], // 检测标题长度
  },
}
